//将虚拟dom转换为真实dom

export function patch(oldVnode, vnode) {

  //1、创建新dom
  let elm = createElm(vnode);
  //2、替换  获取父节点->插入->删除旧的
  let parentElm = oldVnode.parentNode; //获取父节点  body
  parentElm.insertBefore(elm, oldVnode.nextSibling);
  parentElm.removeChild(oldVnode);
  return elm;
}

function createElm(vnode) {//vnode是一个对象 {tag,text,data,children}
  let { tag, data, children, text } = vnode;

  if (typeof tag === 'string') {
    vnode.el = document.createElement(tag); //创建一个标签
    //children
    if (children.length) {
      //如果有子元素
      children.forEach(child => {
        //递归创建子元素
        vnode.el.appendChild(createElm(child));
      });
    }
  }
  else {
    vnode.el = document.createTextNode(text);
  }
  console.log('我是真实的DOM-----', vnode.el);
  return vnode.el;

}